package com.basic.system.service;

import com.basic.system.domain.bo.SysMgmtBo;
import com.basic.system.domain.vo.SMDetailVo;
import com.basic.system.dao.model.SysManagement;
import com.github.pagehelper.PageInfo;
import org.springframework.http.ResponseEntity;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;

public interface SysMgmtService {

    /**
     * 查询管理制度详情列表
     *
     * @return
     */
    PageInfo selListByParam(SysMgmtBo bo);

    /**
     * 根据id查询关联信息
     * @return
     */
    SMDetailVo selManagerAndFile(Long id);

    /**
     * 添加管理制度详情
     * @param bo
     * @return
     */
    int add(SysManagement bo);

    /**
     * 修改管理制度详情
     * @param bo
     * @return
     */
    int updById(SysManagement bo);

    /**
     * 根据Id单删
     * @param id 管理制度Id
     * @return 删除操作值
     */
    int delById(Long id);

    /**
     * 批量删除
     * @param ids Id数组
     * @return 删除操作值
     */
    int delByIds(Long[] ids);

    /**
     * 下载接口
     * @param request
     * @return
     * @throws IOException
     */
    ResponseEntity<byte[]> download(HttpServletRequest request) throws IOException;

    /**
     * 上传接口
     * @param files
     * @return
     */
    String upload(List<MultipartFile> files);

}
